package net.risesoft.risereport.obj.authorization.domain;

import java.io.Serializable;

import org.apache.commons.lang.builder.CompareToBuilder;
import org.apache.commons.lang.builder.EqualsBuilder;
import org.apache.commons.lang.builder.HashCodeBuilder;
import org.apache.commons.lang.builder.ReflectionToStringBuilder;

/**
 * <p>
 * Title: RiseReport
 * </p>
 * <p>
 * Description: RiseReport
 * </p>
 * <p>
 * Copyright: Copyright (c) 2006
 * </p>
 * <p>
 * Company: SZRiseSoft
 * </p>
 * 
 * ROLEID NUMBER(9) not null, ROLENAME VARCHAR2(20) not null, ROLEDESCRIPTION
 * VARCHAR2(50), ROLETYPE CHAR(1)
 */
public class Role implements Serializable {
	/**
	 * 
	 */
	private static final long serialVersionUID = 5112582552241706183L;
	private String roleID;
	private String roleName;
	private String roleDescription;
	private String roleType;

	public int compareTo(Object o) {
		return CompareToBuilder.reflectionCompare(this, o);
	}

	public boolean equals(Object o) {
		return EqualsBuilder.reflectionEquals(this, o);
	}

	public String getRoleDescription() {
		return roleDescription;
	}

	public String getRoleID() {
		return roleID;
	}

	public String getRoleName() {
		return roleName;
	}

	public String getRoleType() {
		return roleType;
	}

	public int hashCode() {
		return HashCodeBuilder.reflectionHashCode(this);
	}

	public void setRoleDescription(String roleDescription) {
		this.roleDescription = roleDescription;
	}

	public void setRoleID(String roleID) {
		this.roleID = roleID;
	}

	public void setRoleName(String roleName) {
		this.roleName = roleName;
	}

	public void setRoleType(String roleType) {
		this.roleType = roleType;
	}

	public String toString() {
		return ReflectionToStringBuilder.toString(this);
	}
}
